package com.zbkj.service.service.mszs;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.common.model.mszs.MszsHotel;
import com.zbkj.common.request.PageParamRequest;
import com.zbkj.common.request.mszs.MszsHotelRequest;
import com.zbkj.common.request.mszs.MszsHotelSelectRequest;
import com.zbkj.common.request.mszs.MszsIndexRequest;
import com.zbkj.common.response.mszs.MszsHotelResponse;

import java.util.List;

/**
 * @description 民宿助手酒店信息-service接口
 * @author lingfe
 * @date 2023-11-16
 */
public interface MszsHotelService extends IService<MszsHotel> {

    /**
     * 酒店--新增
     * @param request
     * @return
     */
    boolean insert(MszsHotelRequest request);

    /**
     * 酒店--修改
     * @param request
     * @return
     */
    boolean update(MszsHotelRequest request);

    /**
     * 酒店--删除
     * @param id
     * @return
     */
    boolean delete(String id);

    /**
     * 根据主键 uid 查询
     * @param uid
     * @return
     */
    List<MszsHotelResponse> getUserHotelList(Integer uid);

    /**
     * 根据主键 id 查询
     * @param id
     * @return
     */
    MszsHotelResponse load(String id);

    /**
     * 管理平台-酒店列表
     */
    List<MszsHotel> adminPageList(MszsHotelSelectRequest request, PageParamRequest pageParamRequest);

    /**
     * 分页查询
     */
    List<MszsHotel> pageList(MszsHotelSelectRequest request, PageParamRequest pageParamRequest);


    /**
     * 获取酒店数据（重构版）
     * -包括每个酒店的房间数据
     * -房间数据（分页）
     * -获取了房型数据
     * -房间根据入住状态获取了订单
     * @param request           请求参数
     * @param paramRequest      分页参数
     * @return List<MszsHotelResponse>
     */
    List<MszsHotelResponse> hotelListReconfiguration(MszsIndexRequest request, PageParamRequest paramRequest);


}
